// SPDX-License-Identifier: GPL-2.0-or-later

#ifndef _SNAKE_FIELD_AFIELD_HPP_
#define _SNAKE_FIELD_AFIELD_HPP_

#include <cstdint>

#include <Snake/Position.hpp>
#include <Snake/Field/Tile.hpp>

#include <SFML/Graphics/Drawable.hpp>

class AField : public sf::Drawable
{

	protected:
		const uint8_t size;

		AField(uint8_t size);
		virtual ~AField(){};

	public:
		virtual void setTile(const Position& position, const Tile& tile) = 0;

		void erase();
};

#endif
